Conversation
Replace remaining writable bind mounts in the Taqasta compose files with Docker named volumes (taqasta_db_data, taqasta_mw_volume); keep read-only config/test mounts as binds. Add scripts/migrate-binds-to-volumes.sh, an idempotent, dry-run-by-default tool that stops the stack, seeds the new volumes from legacy bind directories via a helper container, verifies file counts and byte totals, and renames migrated dirs as rollback snapshots. Document client upgrade steps in docs/bind-mounts-to-volumes.md. Code-side only per WIK-2057 approval: running the migration on client servers is out of scope. Kubernetes deployments are unaffected. https://wikiteq.atlassian.net/browse/WIK-2057
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…arifications Co-authored-by: Cursor <cursoragent@cursor.com>
|
🐳 The image based on 6b625af0 commit has been built with |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Jira: https://wikiteq.atlassian.net/browse/WIK-2057
Summary
taqasta_db_data(MySQL datadir, previouslymysql) andtaqasta_mw_volume(MediaWiki volume, previouslymediawiki). Volume names are pinned vianame:so data survives compose project renames and multi-wiki hosts can address volumes deterministically.LocalSettings.php, Playwright config/tests/fixtures, devlogstestviewer, dev LocalSettings). The e2eplaywright-reportoutput mount was dropped from the CI/e2e stack; copy reports out of the container instead.scripts/migrate-binds-to-volumes.sh: POSIX sh, shellcheck-clean, idempotent, dry-run by default (--applyto execute). It stops the stack (docker compose stop, containers kept), seeds the new named volumes from legacy bind directories (./mysql,./imagesby default) with a temporary helper container (rsync when available,cp -afallback), verifies file counts and exact byte totals, aborts before any destructive step on mismatch, and renames migrated dirs to<name>.migrated-<timestamp>as rollback snapshots. Never deletes data; re-runs never overwrite volume contents.docs/bind-mounts-to-volumes.md; linked fromREADME.mdanddocs/README.md.Scope
Code-side only per WIK-2057 approval. Running the migration on client servers is explicitly out of scope — clients/operators execute the script during their own upgrade window. No server access performed or required for this PR.
Kubernetes deployments are unaffected (PVC-based already).
Overlap note: WIK-2139
WIK-2139 (external Nginx service replacing Apache) is not yet merged and heavily restructures both
docker-compose.ymlanddocker-compose.sample.yml, including the same volume sections this branch touches. This branch is cut from latestmaster(9381180) as directed, so merging either PR first will produce textual conflicts in the compose files — they are mechanical to resolve (keep nginx service + apply named-volume mapping). Flagging here rather than stacking.Validation
shellcheck -s sh scripts/migrate-binds-to-volumes.sh: cleansh -n scripts/migrate-binds-to-volumes.sh: clean.migrated-*docker compose configclean for both changed files (incl. e2e profile)Test plan
scripts/migrate-binds-to-volumes.sh(dry run) against a staging VPS deployment with legacy bind layout--apply, starts stack with updated compose files, verifies wiki + DB intactdocker-compose.yml